A multiport data network switch conventionally permits data communication among a plurality of media stations in a local area network. Each station in the network is associated with a port of the switch. Data frames, or packets, are transferred between stations by means of data network switch media access control (MAC) circuitry, or "engines," for each switch port. The network switch passes data frames received from a transmitting station to a destination station based on the header information in the received data frame.
The switch can link the network to other networks through one or more predesignated switch ports. The capability thus exists for creating logical workgroups of users who may be physically separated from each other. Members of a workgroup may be coupled directly with the switch in the local area network, while other members of the workgroup may be coupled to one or more remote networks that are linked to the switch at a designated port. These groupings can be thought of as virtual local area networks (VLANs) or "sub-networks" within a larger network. VLAN groupings can provide privacy and security to their members while enabling "broadcast domains" whereby broadcast traffic is kept "inside" the VLAN.
Data packets communicating within the VLAN require information that identifies the VLAN grouping, or VLAN type, and VLAN ID assigned to the station. Such information, or "tag," is provided as additional fields in the frame header. The frame format for such packets thus is expanded relative to the standard frame format. For example, the Ethernet ANSI/IEEE 802.3 standard untagged frame format and 802.1d standard tagged frame format are illustrated, respectively, in FIGS. 1(a) and 1(b).
The untagged frame format, shown in FIG. 1(a), includes a header portion that allocates six bytes for destination address, six bytes for source address, and two bytes for type/length. The data portion is not fixed in length, but is within a permissible range between forty six and fifteen hundred bytes. A four byte frame check sequence (FCS) follows the data portion. Under Ethernet protocol, the maximum packet length for untagged packets is 1518 bytes. The recently adopted tagged frame format, shown in FIG. 1(b), provides for a 2 byte VLAN Type field and a 2 byte VLAN ID field positioned between the source address field and the type/length field. The frame format for VLAN tagged frames thus is extended in length with respect to the untagged frames. The maximum packet length for such tagged packets is 1522 bytes. The above-identified related copending application describes, in more detail, application of the maximum packet length criterion to received packets.
These multiple header format standards impose challenges in the management of data communication by the switch. In addition to its various routing functions that are based on header information, the switch must monitor whether packets are within maximum permissible lengths. Determination of whether a given packet, which is of a length between 1518 bytes and 1522 bytes, is within the permissible maximum byte length requires recognition of whether or not the frame is a tagged frame. Inasmuch as this information is located in header fields that only exist in tagged frames, a technique must be found to distinguish the third header field of each frame as either a type/length field or a VLAN type field. As a further complication, tagged frames are only permissible for designated VLAN ports, i.e., "tagged ports." A frame of 1522 bytes length may be oversized even though tagged, if it has been received at a port not designated for VLAN communication. Thus, permissible length determination also must account for port authorization. Conversely, a frame communicated via a tagged port may or may not be a tagged frame. A frame of 1522 bytes length that has been received at a tagged port thus would be oversized if it is not a tagged frame. Recognition of a frame as a tagged frame by the switch is also required for routing purposes. The switch, however, has no indication that an incoming frame is tagged prior to receiving the VLAN type field with the frame.
Moreover, other switch functionalities, and conformance with external network interaction, will often require conversion of a tagged frame to untagged format. For example, a tagged packet, received at a VLAN tagged port, may require transmission to a network station coupled to an untagged port. Also, if the VLAN header information is no longer otherwise necessary, continued storage of such data becomes inefficient from the standpoint of memory capacity and transmission bandwidth. The switch must be capable of stripping the tag information from the frame header at appropriate stages of operation. The switch must also be capable of reconverting a stripped frame to tagged format if the packet is to be transmitted to a VLAN destination via a tagged port.